/**
 * @author liangxi
 * @since 2024/4/10
 */

#ifndef DESIGNPATTERN_NOQUARTERSTATE_H
#define DESIGNPATTERN_NOQUARTERSTATE_H

#include <iostream>
#include "../State.h"

class GumballMachine;

class NoQuarterState : public State {

public:
    NoQuarterState() = default;

    GumballMachine *getMGumballMachine() const;

    void setMGumballMachine(GumballMachine *mGumballMachine);

    void insertQuarter() override;

    void ejectQuarter() override;

    void turnCrank() override;

    void dispense() override;

private:
    GumballMachine *mGumballMachine{nullptr};
};




// GumballState

#endif //DESIGNPATTERN_NOQUARTERSTATE_H
